#define _CRT_SECURE_NO_WARNINGS
#include "RemoveElement.h"
#include <stdio.h>
#include <stdlib.h>
void RemoveElement(SLTNode** pphead, SLTDataType x)
{
	SLTNode* Cur = *pphead;
	SLTNode* pre = NULL;
	/*if (Cur->data == x)
	{
		*pphead = Cur->NextNode;
		free(Cur);
		Cur = *pphead;
	}*/
	while (Cur)
	{
		if (Cur->data == x)
		{
			pre->NextNode = Cur->NextNode;
			free(Cur);
			Cur = pre->NextNode;
		}
		else
		{
			pre = Cur;
			Cur = Cur->NextNode;
		}
	}
	return;
}
	//SLTNode* Pre = NULL;
	//SLTNode* Tmp = NULL;
	//if (Cur->data == x)
	//{
	//	free(Cur);
	//	*pphead = Cur->NextNode;
	//	return;
	//}
	//else
	//{

	//	Pre = Cur;
	//	Cur = Cur->NextNode;
	//}
	//while (Cur->NextNode != NULL)
	//{
	//	if (Cur->data == x)
	//	{
	//		Pre->NextNode = Cur->NextNode;
	//		Tmp = Cur->NextNode;
	//		free(Cur);
	//		Cur = Tmp;
	//	}
	//	else
	//	{
	//		Pre = Cur;
	//		Cur = Cur->NextNode;
	//	}





		

	//while (Cur->NextNode)
	//{
	//	if (Cur->data == x)
	//	{
	//		free(Cur);
	//		*pphead = Cur->NextNode;
	//	}
	//	else
	//	{
	//		Pre = Cur;
	//		Cur = Cur->NextNode;
	//	}


	//else
	//{
	//	while(Cur->data!=x)
	//	{

	//		Cur = Cur->NextNode;
	//	}
	//}

	
	//	if (Cur->data != x)
	//	{
	//		Pre = Cur;
	//		Cur = Cur->NextNode;
	//	}
	//	else
	//	{
	//		Pre->NextNode = Cur->NextNode;
	//		free(Cur);
	//		Cur->NextNode = NULL;
	//		Cur = Pre->NextNode;
	//		
	//	
	//}


